package com.xxx.study.designmodel.d单例模式;

/**
 * 懒汉式
 * 时间换空间思想
 */
public class LazyUnsafeSingleton {

    private String content;

    public String getContent() {
        return content;
    }

    private static LazyUnsafeSingleton lazySingleton;

    private LazyUnsafeSingleton(String content) {
        this.content = content;
    }


    /**
     * 懒汉式 单例模式
     * 【线程不安全】一般不用
     * 如果两个线程同时执行该方法，线程1 判断完 ，开始创建实例，但未创建完时，线程2 进入判断逻辑，判断为真，也会进入创建逻辑。此时会打破单例
     * @return
     */
    public static LazyUnsafeSingleton getInstance(){
        if (lazySingleton == null) {
            try{
                Thread.sleep(1);
            } catch (Exception e){

            }
            lazySingleton = new LazyUnsafeSingleton("懒汉式线程不安全实例");
        }
        return lazySingleton;
    }
}
